A Parallel Approach to Concolic Testing with Low-cost Synchronization

نویسندگان

  • Xiao Yu
  • Shuai Sun
  • Geguang Pu
  • Siyuan Jiang
  • Zheng Wang
چکیده

This paper presents a practical approach to parallelize the test data generation algorithm by which computing resources can be fully used. The test data generation approach that we are using is based on the dynamic symbolic execution (concolic testing). The basic idea of parallelizing the algorithm is to distribute analysis processes of different paths to different computing units. Although a centralized scheduler with several sub processes can directly achieve the goal of parallelism, it may cause global idle time when parallel processes frequently end at same time. In our approach, a runtime deterministic scheduler is introduced to reduce the potential global idle time. Our experiments show some notable results when using a proper scheduling function. Compared with the sequential concolic testing, our approach can save nearly 70% computing time in some cases on a system with eight CPU cores from our experiments.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Scalable Distributed Concolic Testing: A Case Study on a Flash Storage Platform

Flash memory has become a virtually indispensable component for mobile devices in today’s information society. However, conventional testing methods often fail to detect hidden bugs in flash file systems due to the difficulties involved in creating effective test cases. In contrast, the approach of model checking guarantees a complete analysis, but only on a limited scale. In the previous work,...

متن کامل

Computer Network Time Synchronization using a Low Cost GPS Engine

Accurate and reliable time is necessary for financial and legal transactions, transportation, distribution systems, and many other applications. Time synchronization protocols such as NTP (the Network Time Protocol) have kept clocks of such applications synchronized to each other for many years. Nowadays there are many commercial GPS based NTP time server products at the market but they almost ...

متن کامل

Combined Constraint-Based Analysis for Efficient Software Regression Detection in Evolving Programs

Software regression is a bug that makes software stop functioning normally after a certain event. In this paper, we investigate detecting regression when software evolves to a new version. In this context, regression bugs occur in parts of software that already passed testing process in the old version. Hence, such kind of bugs is difficult to be discovered if normal strategy like white-box tes...

متن کامل

LCT: A Parallel Distributed Testing Tool for Multithreaded Java Programs

LIME Concolic Tester (LCT) is an open source automated testing tool that allows testing both sequential and multithreaded Java programs. The tool uses concolic testing to handle input values and dynamic partial order reduction (DPOR) combined with sleep sets to avoid exploring unnecessary interleavings of threads. The LCT tool has been designed for distributed use where the SMT constraint solvi...

متن کامل

Concolic Testing of Sequential and Concurrent Programs

Testing using manually generated test cases is the primary technique used in industry to improve reliability of software—in fact, such ad hoc testing accounts for over half of the typical cost of software development. We propose new methods for systematically and automatically testing sequential and concurrent programs. The methods are based on two new techniques: concolic testing and race-dete...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Electr. Notes Theor. Comput. Sci.

دوره 274  شماره 

صفحات  -

تاریخ انتشار 2011